home *** CD-ROM | disk | FTP | other *** search
/ MaxiMac 2000 May / MaxiMac 102.iso / Macworld on CD n°102 / •Macworld Pratique• / Programmation / ObjectPlant ƒ / ObjectPlant README 2.1.7 < prev    next >
Encoding:
Text File  |  2000-03-08  |  24.5 KB  |  446 lines  |  [TEXT/ttxt]

  1. The ObjectPlant 2.1.7
  2.  
  3. Date of Release: 9 March 2000
  4.  
  5. The ObjectPlant is a OOA/OOD tool based on the OMT and UML notation. It can be used
  6. to create Class Diagrams, State Diagrams, Sequence Diagrams and Use Case Diagrams.
  7. The ObjectPlant can also be used to generate C++ or Java code skeletons and/or
  8. documentation on Word 5.1-6.0 RTF format.
  9.  
  10. C++ and Java code can be reverse engineered (10USD extra per each single license).
  11.  
  12. The ObjectPlant folder contents:
  13. - ObjectPlant                          PowerPC version of the program
  14. - 68k ObjectPlant                   68k version of the program
  15.  
  16. - Data type files                      folder which contains files with data types sets that
  17.                                                 can be read into ObjectPlant:
  18.     - C++ Data Types                       text file with a subset of the standard C++ data types
  19.     - Java Data Types                      text file with a subset of the standard Java data types
  20.     - Mac Data Types                       text file with a subset of the standard Mac data types
  21.     - NeoAccess_Data_Types          text file with a subset of the NeoAccess data types
  22.     - PowerPlant_Data_Types         text file with a subset of the PowerPlant data types
  23.     - Quickdraw_3D_Data_Types     text file with a subset of the QuickDraw3D data types
  24.  
  25. - Code Generation templates   folder which contains a set of files that can be used to
  26.                                                generate different kinds of documents, e.g. code
  27.     - C++Template.cc                     template file for generation of C++ code skeletons
  28.     - C++Template.h                       template file for generation of C++ code skeletons
  29.     - C++CWTemplate.cc                template file for generation of C++ CodeWarrior specific
  30.                                                     code skeletons
  31.     - C++CWTemplate.h                  template file for generation of C++ CodeWarrior specific
  32.                                                     code skeletons
  33.     - C++SpecialTemplate.cc         template file for generation of C++ code skeletons
  34.     - C++SpecialTemplate.h           template file for generation of C++ code skeletons
  35.     - Java                                      template file for generation of Java code skeletons
  36.     - HTML Template                     template file for generation of HTML documentation
  37.     - Word 5.1-6.0                         template file for generation of documentation in
  38.                                                     RTF format suitable for Word 5.1-6.0
  39. - 2.1 User's manual                  the user's manual in pdf (Acrobat) format
  40. - Example (ObjectPlant)           an example document
  41. - Cheat sheet                           an example document containing information about the
  42.                                                 different model items
  43. - Register                                program for creating register forms to be sent to Kagi 
  44.  
  45. Requirements:
  46. System 7.1 or later
  47. 68020 or better
  48. 3 Mb free RAM
  49.  
  50. Registering
  51. To register use the Register program to create a register form which then shall be sent
  52. to Kagi Shareware using mail, email or fax.
  53.  
  54. The price for a single license is 25 USD, there are also site and world licenses available for
  55. 500 USD resp. 2000 USD.
  56.  
  57. The reverse engineering parts of ObjectPlant require separate registering and the price
  58. for a single license is 10 USD, there are also site and world licenses available for
  59. 200 USD resp. 800 USD.
  60.  
  61. http://www.kagi.com
  62. Email: shareware@kagi.com        (1 to 3 day processing time delay)
  63. FAX: +1 510 652 6589            (4 to 8 day processing time delay)
  64. Postal address:                       (4 to 8 day delay plus transit time to Kagi)
  65. Kagi
  66. 1442-A Walnut Street PMB #392-MU
  67. Berkeley, California, 94709-1405
  68. USA
  69.  
  70. Please note that Kagi automatically rejects any electronic payment that come includes
  71. a hotmail.com address. Refer to http://www.kagi.com/FAQs/hotmail.com
  72.  
  73. N.B. Kagi is a payment processing company and they are not the author/shipper of the
  74. product. Any problems with receiving registration codes or any problems with the product
  75. itself shall be addressed to the author at m-arc@algonet.se or micke@kagi.com
  76.  
  77. Registration codes will be sent to you normally within a week after receive a
  78. confirmation of your order from Kagi.
  79.  
  80.  
  81. Disclaimer
  82. This software is provided "as-is". I take no responsiblity in any damage caused by the
  83. software, use of the software or any of its outputs such as generated code. Use it at
  84. your own risk.
  85.  
  86.  
  87. Changes in 2.1.7 (9 March 2000)
  88. • Corrected a bug in the Java parser. Now the keyword "final" is allowed in a method's
  89.    list of parameters.
  90. • Corrected a bug that was introduced in the last version: data types files were not
  91.    shown in the "load set" or "append set" dialogs (unless their names ended in .h or .hpp)
  92. • Corrected a bug causing ObjectPlant to show the cursor even when running in the
  93.    background.
  94. • Corrected select and tool bugs in the Sequence Diagrams (Event Trace diagrams).
  95. • Corrected a bug in the State dialog. The "entry", "do" and "exit" fields were not 
  96.    properly updated when bringing up the State dialog.
  97. • Updated several model items and names to comply with UML 1.3.
  98. • Added tool tips.
  99.  
  100.  
  101. Known Bugs
  102.  
  103. • The C++ parser does not handle a "long double" operator correctly, i.e.
  104.     operator long double() const;
  105.    will generate a parsing error.
  106. • The main windows sometimes look "messy". Everything is not erased properly when
  107.    moving parts around.
  108. • Moving a set of relationsships and classes can sometimes leave some of the lines
  109.    behind. 
  110. • If you use code generation, you cannot use the ':' character in class names.
  111. • Line drawing is not very good. When changing between different views lines are not
  112.    updated (adjusted) as expected.
  113. • If the "Page Setup" or "Print Page" commands do not work, try selecting a printer
  114.    in the chooser.
  115. • Snap to grid is only implemented in the Use Case diagram page.
  116. • Packages cannot be copied.
  117. • EPS output for free text may not be correct. I have no possibility to verify this.
  118. • Using any other font than helvetica may produce strange output when exporting
  119.    EPS pictures.
  120.  
  121. Use the web-page http://www.softsys.se/ObjectPlant/ to get new releases, report bugs etc. 
  122.  
  123. Questions concerning the program can be sent directly to the author
  124. at m-arc@algonet.se or micke@kagi.com
  125.  
  126.  
  127. This program should only travel in the complete folder.
  128.  
  129. Have fun,
  130.  
  131.                 Mikael Arctaedius
  132.         Stockholm, Sweden
  133.  
  134.         email: m-arc@algonet.se
  135.         http://www.softsys.se/ObjectPlant/
  136.  
  137.  
  138. Release History
  139.  
  140. Changes in 2.1.6 (8 November 1999)
  141. • Better drawing of navigation arrows when attached to qualifier boxes.
  142. • License check for CodeRetriever back in business again...
  143.  
  144. Changes in 2.1.5 (5 November 1999)
  145. • Corrected a problem with parsing structs inside class definitions.
  146. • Corrected a problem with parsing initializers for const attributes in C++.
  147. • Corrected a problem with parsing struct initializers.
  148. • Corrected a problem with parsing template types in operation parameter.
  149. • Better scroll handling in dialog windows and main windows.
  150. • Attributes in an abstract class are now using a normal font, i.e. not italicezed.
  151. • Corrected a problem with associations which sometimes became invisible if the
  152.    "Rectilinear lines" preference option was off.
  153. • Corrected problems related to very long strings, for example saving or opening
  154.    a file with a very long class description could in previous versions cause a crash.
  155.    Also generating code with long strings could cause a crash.
  156. • And much more...
  157.  
  158. Changes in 2.1.4 (19 May 1999)
  159. • Corrected a problem that could cause windows to become invisible, i.e. they were
  160.    positioned outside the screen. Normally all such windows are relocated but due to
  161.    a bug in the relocation function, windows above the screen was not correctly relocated.
  162. • Will now import Java code containing anonymous inner classes.
  163. • Corrected yet another set of memory leaks and also added a warning that will
  164.    show up when memory is getting dangerously low.
  165. • Increased the stack size for the PowerPC version of ObjectPlant. This will make it
  166.    possible to open and save very large models.
  167. • Made a partial implementation for support of templates. Class templates can now be
  168.    created in the model and code generated for them also. But the C++ parser does not
  169.    import templates correctly as of now.
  170. • Corrected the looks of the dependency arrows in the EPS output.
  171. • Added support for dependency arrows between classes (not reference classes).
  172.  
  173.  
  174. Changes in 2.1.3 (24 March 1999)
  175. • Corrected bug related to abstract classes code generation. The abstract keyword
  176.    (used in the Java template) was output even though the class wasn't abstract.
  177. • Fixed the problem with invisible (white) text strings in exported pictures (PICT format).
  178. • Perhaps fixed the problem with dashed lines being printed as solid lines. (Can someone
  179.    who has had this problem verify this and send me an email?)
  180. • Corrected some other problems (duplicated items) in exported pictures (PICT).
  181. • Corrected some bugs in the Interface dialog. It was mostly related to the new
  182.    Code Generation parts which didn't work for Interfaces.
  183. • Corrected another bug related to closing of windows. If you closed the project
  184.    window and got the "Do you want to save" question and then answered "Cancel"
  185.    all items in the main windows were deleted.
  186. • Corrected a bug which could cause a crash if an item (attribute or operation)
  187.    was dragged over the Project Window.
  188. • Corrected a bug that caused ObjectPlant to crash in the Preference dialog if you
  189.    were using MacOS 8.1 or earlier.
  190. • Removed a memory leak in the drag-n-drop in dialog windows.
  191. • The document is now marked "dirty" if you do a "Page Setup" or change in the
  192.    Document Preferences.
  193. • Added command keys for "Generate Code (All)" and "Generate Code (Selected)".
  194. • Changed the ProjectWindow so that one of the panes (ObjectModel, State Diagram,
  195.    EventTrace or Use Case) is active (selected). This makes it possible to add new
  196.    pages, delete pages and do print operations (setup and print) with the selected
  197.    page when the ProjectWindow is in front.
  198. • Added description fields for operation parameters and exceptions. Also changed the
  199.    Java code generation template so that @param and @exception descriptions are output.
  200. • Added the name of the page as a header of printouts.
  201.  
  202.  
  203. Changes in 2.1.2 (20 March 1999)
  204. • Corrected the handling operator parameters. Now the parameter type can include
  205.    comma characters.
  206. • Corrected yet some more memory leaks related to drag-n-drop in the
  207.    Project Window.
  208. • Corrected another problem related to drag-n-drop in the Project Window where
  209.    the dragged page was kind of displaced (not placed in the page where it was
  210.    supposed to be placed) and that could cause several other strange problems.
  211. • Corrected more memory leaks.
  212. • The operation parameter dialog window and operation exception dialog window
  213.    will now remember their positions.
  214. • Corrected a bug that caused a crash when doubleclicking on an exception in the
  215.    operation part of the class dialog window.
  216. • Corrected a bug that caused all items in a main window be deleted when the window
  217.    was closed using the Close in the File menu.
  218. • Corrected a bug in the About dialog which occured when Internet Config extension
  219.    wasn't installed and a document was open.
  220. • Corrected problems related to the Page Setup resources stored in the documents.
  221. • Added new code generation tag {HTMLENCODING}{/HTMLENCODING} that makes it
  222.    possible to include non-standard ASCII characters in generated HTML-code
  223.    and get the characters correctly coded, e.g. ç => ç and å => å
  224. • Added a "Print All Pages" item in the File menu. It will print all pages having any
  225.    content using the individual page setups.
  226.  
  227. Changes in 2.1.1 (6 March 1999)
  228. • Corrected a bug in Java reverse engineering. Parsing of operation parameters
  229.    will now handle arrays properly.
  230. • New Java code generation template which corrects the following problems:
  231.    - Added the necessary tags so that a class is declared `abstract'.
  232.    - Added the output of exceptions to the VIS_NONE operations.
  233.    - Added the necessary tags to the end of each OPERATION clause so that
  234.       abstract methods do not put out a "body", but instead simple finish the
  235.       declaration with a semicolon.
  236. • Corrected a bug related to parsing C++ code where a constructor's initializer
  237.    contained a literal string. This did in previous versions cause the parsing to
  238.    be aborted with an error message.
  239. • Generated files will now inherit the template file's colour.
  240. • Added clickable links to my mail-address and ObjectPlant's web-site in the
  241.    About dialog.
  242. • Corrected UML notation for static class members. They are now underlined
  243.    instead of prepended with the $ character, all in line with the 1.1 version of
  244.    the UML notation guide.
  245. • The C++ parser now understands javadoc style comments. This means that
  246.    your class, class member comments can be imported into the model
  247.    if the are surrounded by /** */.
  248. • Fixed several problems which displaced lines connected to other objects when
  249.    the lines weren't rectilinear and the objects and lines were moved.
  250. • Corrected a problem with self-referencing associations and aggregations that
  251.    didn't show up in previous versions.
  252. • Changed maximum size of a main window to 1600x1200.
  253. • Corrected a problem with code generation; when a file couldn't be opened because
  254.    it was already open by another program, a generated (empty) file wasn't deleted
  255.    which it should be since the generation was aborted.
  256. • Error reports in code generation now includes a MacOS error number which will
  257.    help identify problems.
  258. • Added support for F1-F4 keys as undo, cut, copy, paste in all text fields and
  259.    diagram pages.
  260. • Added support for command-dragging of windows in the background without
  261.    bringing the window to the foreground.
  262. • Added a "Find class" and "Find interface" menu command to the Class and Interface
  263.    menus. This will activate the page where the class is defined.
  264. • Fixed a bug that changed the system font when importing code.
  265. • Corrected a bug that sometimes made the Add button in the Import Code dialog
  266.    active when it shouldn't be and vice versa.
  267. • Corrected some bugs in the Interface dialog. The data/return type popup menu
  268.    shall now work correctly and drag-n-drop shall also work correctly.
  269. • Added support for Edit->Cut
  270. • And some other minor bugs have been fixed.
  271.  
  272.  
  273. Changes in 2.1 (24 January 1999)
  274. • Corrected a drag-n-drop bug in the project window. This bug caused the program
  275.    to hang.
  276. • Corrected a bug that inhibited all further drawing in the Use Case diagram
  277.    window after having edited a Use Case name in the main window.
  278. • Corrected some minor updating problem related to free text items.
  279. • Corrected a problem with free text always using helvetica when opening a
  280.    document and the "Use System Font" option was enabled.
  281. • Corrected a problem that caused strange behaviour after deleting an item.
  282.    If deleted item constrained the possible movement of any other item, the
  283.    constraint would remain even though the item was deleted.
  284. • New Word RTF template that also support Word 6.0 RTF format.
  285. • Enhanced the code generation so that it will now be possible to generate
  286.    several classes into one common file.
  287. • The code generation should now also be able to generate more {CLASS}
  288.    {/CLASS} section outputs, i.e. the code generation will not stop when the
  289.    first {/CLASS} tag has been encountered. This was a bug in previous versions.
  290. • Added a "Append set..." button to the data types dialog so that several data
  291.    types file may be read without clearing the list every time a new data type
  292.    file is read.
  293.  
  294. Changes in 2.0.5 (12 November 1998)
  295. • Corrected two bugs: one in the preferences dialog and one crash which occured
  296.    when doubleclicking on an operations parameter.
  297.  
  298. Changes in 2.0.4 (11 November 1998)
  299. • Corrected some update problems with Use Cases.
  300. • Corrected bug in code generation. Interface files were stored in the folder above the
  301.    specified folder.
  302. • Corrected a crash bug related to importing Java code containing empty
  303.    documentation comments.
  304. • Corrected a problem with array arguments when parsing C++ code.
  305. • Corrected a problem with a disappearing Class menu.
  306. • Corrected a crash bug which occured when trying to close all open dialog windows
  307.    (option click in the close box of a dialog window).
  308. • Added some keyboard shortcuts for the four main window and also command-up
  309.    arrow and command-down arrow to step through the pages in a window.
  310. • Added possibility to select between large and small UML generalization arrows.
  311. • Handles of a line can now be removed using the cut-tool.  Option-click on a handle
  312.    to remove it.
  313. • Added a preference option to be able to select if lines (association, generalization,
  314.    dependency etc) shall be created rectilinear or oblique.
  315. • Added possibility to cut dependency, use case and actor generalization lines.
  316. • Added possibility to specify if the attributes and operations shall be displayed in
  317.    a reference class. This is an option in the Object Model section of the preferences
  318.    dialog. You can specify that for a certain view either all/selected/none
  319.    attributes/operations shall be displayed in reference classes. If the "selected"
  320.    option is active, you can select for each reference class if it shall show or hide
  321.    the attributes/operations. This is selected by uisng the select tool and option
  322.    click on the reference class. A popup-menu will appear where you can select to
  323.    hide or show the attributes/operations.
  324. • And much more...
  325.  
  326. Changes in 2.0.3 (3 October 1998)
  327. • Added support for parsing C++ exception specifiers.
  328. • Added support for inheritance between actors in use case diagrams.
  329. • Added support for type conversion operators, eg:
  330.        operator int();
  331. • Added support for parsing of the namespace keyword. When a namespace keyword
  332.    is parsed, a corresponding package will be created (remember to change the
  333.    "create package" preference option if you are using namespaces).
  334. • Added auto-scrolling for drag-n-drop in the left pane of the class and interface
  335.    dialog windows.
  336. • Added possibility to automatically include all implemented operations in a
  337.    class implementing an interface.
  338. • Added the possibility to define a set of identifiers which will be ignored when
  339.    parsing code. This can be useful to exclude macros which have no meaning for
  340.    the class definition, for example the EXPORT_MA and INIT_FMESSAGE macros
  341.    used in all MacApp class headers.
  342. • Corrected C++ parsing of operations returning a namespace qualified type.
  343. • Corrected a bug that could cause ObjectPlant freezing when changing the
  344.    size of the project window.
  345. • Corrected the parsing of structs within class definitions.
  346. • Expanded the stack in the 68k which should reduce the risk of crashing due to
  347.    stack colliding with the heap.
  348. • Corrected another problem with the 68k version. When loading large data type
  349.    files ObjectPlant sometimes crashed.
  350. • Corrected a problem that occured after saving a file. Then the wrong resource
  351.    file was used which could result in strange errors, for example the help dialog
  352.    was empty when being displayed.
  353. • Corrected quite a few problems with the C++ parser.
  354. • And much more...
  355.  
  356. Changes in 2.0.2 (18 September 1998)
  357.  
  358. • Added more support for C++ template types. This means that template types will
  359.    be parsed correctly even when inherited but templates themselves are still not
  360.    supported.
  361. • Corrected a bug that related to importing (reverse engineering) Java comments.
  362.    If the comment started on the same line as the /** an error occured causing a
  363.    break into MacsBug or if you don't have it installed, ObjectPlant crashed.
  364. • Corrected a bug which could cause a crash when using reference items (class
  365.    references or interface references).
  366. • Corrected a giant memory leak which slowly degraded the performance.
  367. • The dialog windows are now resizable but not all fields in the dialogs
  368.    respond to the changed size.
  369. • Corrected a bug when parsing java comments related to constructor methods.
  370. • And much more...
  371.  
  372. Changes in 2.0.1 (7 September 1998)
  373.  
  374. • Added support for C++ template types. This means that template types will be parsed
  375.    correctly but templates themselves are still not supported.
  376. • Added support for reverse enginnering of Java comments. Class, operation and attribute
  377.    descriptions within a /** */ comment will be parsed and added to the object model.
  378. • Corrected a problem with a blinking cursor in the Event Trace diagram.
  379. • Corrected a bug that resulted in a "Syntax error" dialog when parsing C++ code
  380.    with namespace qualifiers, e.g. void function( ClassA::MyType par1 );
  381. • Java class initializers will now be parsed correctly and not generate a "Syntax error".
  382. • It should now be easier to select and move lines, and in particular to "grab"
  383.    the handles of a line.
  384. • New code generation templates for Class.java and C++Template.cc (also separately
  385.    released on the web-site).
  386. • Corrected a bug that made the "Import code..." file dialog show up without displaying
  387.    either *.h, *.hpp or *.java files.
  388. • Made the file filtering in the Import code dialog case independent.
  389. • Added the lost "By Value" checkbox in the aggregation dialog window.
  390. • Corrected problem in Java parser when extending class by their full path, e.g.
  391.    extends awt.Component instead of extends Component. In the latter case a class
  392.    named awt.Component was created instead of a class Component in the package awt.
  393.    (This goes for the implements statement too.)
  394. • And much more...
  395.  
  396. Changes in 2.0 (24 August 1998)
  397.  
  398. • Added C++ and Java reverse engineering. Handles version 1.1 of Java but ignores inner
  399.    classes.
  400. • Corrected a bug that caused documents to be corrupted when read into ObjectPlant.
  401.    The bug is now fixed, but your documents may still be corrupt if saved after
  402.    ObjectPlant had corrupted it. If you have any problems with a document, email it
  403.    to me and I'll try to fix it manually.
  404. • Changed the Page Palette into an ordinary Project window listing the pages of all four
  405.    diagrams. Closing the Project Window closes the project.
  406. • Made it possible to change the heirarchy of packages.
  407. • Extended Use Case diagrams. Now you can add extension points to a use case.
  408. • Corrected a bug that could cause a crash when creating new documents (File->New)
  409.    or when opening old documents (File->Open...).
  410. • Added an option to get type popupmenus sorted (a quick sort performed only on the
  411.    first four letters of each word).
  412. • Added an option to get type popupmenus to include all classes defined in the document.
  413. • Corrected the looks of the supplier relation (between a class and an interface).
  414.    Now it conforms to UML 1.1 using a generalization arrow.
  415. • Added more small icons (for MacOS 8.5).
  416. • Code generation templates: several instances of the USERCODE tag can now be included
  417.    in a code generation template.
  418. • Changed the line drawing algorithm for generalizations, aggregations, associations and
  419.    supplier relations. A generalization, aggregation, association and supplier relation can
  420.    now be forced to be rectilinear (checkbox in dialog window). If a generalization,
  421.    aggregation, association and supplier relation is rectilinear when opening an old file,
  422.    the rectilinear checkbox will be set automatically.
  423. • New Java templates that make use of the SYNCHRONIZED tag.
  424. • In abstract classes operations are written in italics only if the operation is abstract.
  425.    (This is not yet true for EPS exported pictures.)
  426. • Moved some preferences from being application based to document (project) unique.
  427. • Changed behaviour of the attribute's initializer field (in the class dialog) so that it
  428.    scrolls when moving outside of the edit field.
  429. • Added a new code generation tag {REVERSEDEEPANCESTORLIST}. It does basically the
  430.    same as the {DEEPANCESTORLIST} but lists the hierarchy the other way round.
  431. • Added a "Continue All" button in the alert warning for a template file that is
  432.    younger than the generated file.
  433. • Added a new tag {IMPLEMENTS}{/IMPLEMENTS} that can be used for Java to automatically
  434.    generate methods for implemented interfaces. This means that you don't explicitly need
  435.    to define these methods in the class to have them generated.
  436. • Added support for Navigation Services (PowerPC only).
  437. • Corrected a bug that caused the preview of exported EPS files not always be stored in
  438.    the same folder as the EPS file itself.
  439. • Changed the way the supplier tools works. It will now be consistent with the
  440.    generalization tool. You should start pointing to the class and draw a line to
  441.    interface and then release the mouse button.
  442. • Corrected a bug related to importing data tupes.
  443. • Added two new data type files, one for Java and one for Mac types.
  444. • The in/out IDL information shall now be visible for both class and interface
  445.    operation parameters.
  446.